package com.sg.dto.biz.framework.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc AddOrgClassReqDto
 * @使用场景
 */
@Data
public class AddOrgClassReqDto extends BaseDto implements Serializable {

    /**
     * 类型字典名称
     */
    @NotNull(message = "类型字典名称不能为空")
    @ApiModelProperty("类型字典名称")
    private String typeDictionaryName;

    /**
     * 类型字典编码
     */
    @NotNull(message = "类型字典编码不能为空")
    @ApiModelProperty("类型字典编码")
    private String typeDictionaryCode;

    /**
     * 排序
     */
    @NotNull(message = "排序不能为空")
    @ApiModelProperty("排序")
    private Long orderNumber;

    /**
     * 组织ID
     */
    @ApiModelProperty("组织ID")
    private String organizationId;

    /**
     * 类型用途编码 DEPT_TYPE:部门类型 POSITION_CLASS:职务类别 INDUCTION_TYPE:就职类型 INDUCTION_STATE:就职状态 WROK_TASK_SOURCE_CONF:工作任务来源
     */
    @NotNull(message = "类型用途编码不能为空")
    @ApiModelProperty("类型用途编码")
    private String purposeCode;

    @ApiModelProperty("部门业务身份列表 ")
    List<String> deptBusinessIdentityList = new ArrayList<>();

    /**
     * 是否系统数据 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否系统数据")
    private String isSystemData;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @NotNull(message = "主体生命周期不能为空")
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;

}
